
#include "ti_msp_dl_config.h"
#include "hardware/motor.h"

// value = [0, 10000]
void CheckPWDValue(int* value)
{
    if (*value > MAX_SPEED)
        *value = MAX_SPEED;
    else if (*value < 0)
        *value = 0;
}

void SetMotorBI(int value)
{
    CheckPWDValue(&value);
    DL_TimerG_setCaptureCompareValue(PWM_MOTOR_INST, value, GPIO_PWM_MOTOR_C0_IDX);
}

void SetMotorFI(int value)
{
    CheckPWDValue(&value);
    DL_TimerG_setCaptureCompareValue(PWM_MOTOR_INST, value, GPIO_PWM_MOTOR_C1_IDX);
}

void SetMotor(int bi, int fi)
{
    SetMotorBI(bi);
    SetMotorFI(fi);
}

void StopMotor()
{
    SetMotor(0, 0);
}